package com.jmyd.coupon.server.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * 优惠券模版对象
 *
 * @author samphin
 * @since 2021-7-13 18:08:52
 */
@Data
public class SceneCouponDto {

    /**
     * 优惠券名称
     */
    @NotBlank(message = "优惠券名称不能为空.")
    private String name;

    /**
     * 优惠券面值（如果满减券则为满金额）
     */
    private BigDecimal amount;

    /**
     * 优惠金额面值（针对满减券，折扣值）
     */
    private BigDecimal discountAmount;

    /**
     * 优惠券类型:1：折扣券，2：满减券 3：免单券 4：立减券 5：随机券
     */
    @NotNull(message = "类型不能为空.")
    private Integer type;

    /**
     * 启用 true=有效模板;false=无效模板
     */
    private Boolean status = Boolean.TRUE;

    /**
     * 互斥状态：true=互斥;false=不互斥
     */
    private Boolean exclusiveStatus = Boolean.TRUE;

    /**
     * 使用平台：PC、APP、H5、APPLET
     */
    @NotBlank(message = "使用平台不能为空.")
    private String usePlatform = "PC";

    /**
     * 优惠券有效期起始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date validStartTime;

    /**
     * 优惠券有效期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date validEndTime;
}
